/* 
 * File:   Circle.h
 * Author: mauro
 *
 * Created on 9 de septiembre de 2014, 17:49
 */

#ifndef CIRCLE_H
#define	CIRCLE_H

#include "Object.h"
#include "ObjFactory.h"
#include "WorldElement.h"
#include "Dot.h"
#include <Box2D/Box2D.h>

class Circle : public WorldElement {
private:
    Object* object;
    struct ObjectInit data;
    ObjFactory* objFactory;
bool equals;
    void updatePosition();
    void updateRotation();

public:
    
    Circle(ObjFactory *objFactory, bool flagStatic, float x, float y, int scale, float mass, int idImage);

    void restartPlayer();
    void updateData();
    void checkChanges();
    struct ObjectInit getData();    
    bool getAreEquals();
    b2Vec2 getPosition();
    float getAngle();
    float getAngularVelocity();
    
    void setAngularVelocity(float velocity);
    void setUbicDyn(int id);
        
    //shoot    
    Object* getObject();
    void setObjectId(int id);
    void setStat(int num);
    b2Body* getBody();
    virtual ~Circle();
};

#endif	/* CIRCLE_H */

